技術問答
技術文章
iT 徵才
Tag
聊天室
2024 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2024 iThome 鐵人賽
DAY
10
0
自我挑戰組
技術隨筆
系列 第
10
篇
資料同步的實作選擇
16th鐵人賽
sixwings
2024-09-24 23:57:28
104 瀏覽
分享至
當專案需要保存外部資料源而且需要確保外部資料源維持在最新狀態時,就會需要作資料同步的動作。以下簡介可以選擇的幾種作法(本篇屬筆記性質,供參)
輪詢 polling: 最常見的作法,一樣維持原本 request 取得資料的方式,最容易實作,但對於外部資料源的伺服器負擔比較大
伺服器推送 Server-Sent Events: 由 client 發起,但能夠達到伺服器推送資料效果的作法,比 websocket 的複雜度低,但是不支援雙向傳輸
WebSocket: 可以實現資料同步的需求,在資料變更時能夠主動告知 client
Webhooks: 高效的實作,但 client 需要支援 POST request, 而且有相對的安全議題需要注意
額外的優化項目
使用分頁參數: 降低資料傳輸量
使用 updated_at 過濾掉已同步過的資料內容
把「資料刪除」也視為一種異動,返回資料刪除的標記代表刪除
使用更動標記提示內容有改動的資料欄位
根據資料異動的頻率調整 polling 的週期
留言
追蹤
檢舉
上一篇
沒有 docker registry 要怎麼保存 image? - 低配版 docker image 管理方法
下一篇
安全性 UP - 避免 root 帳號打通關
系列文
技術隨筆
共
30
篇
目錄
RSS系列文
訂閱系列文
2
人訂閱
26
Laravel 11 升級指南 & 版本管理策略
27
透過 Protobuf 改善 JWT 傳輸性能是可行的嗎?
28
PHP 未來可能支援原生的事件迴圈嗎?
29
OAuth 在 2024 年的發展現況
30
古老但值得學習的技術 - Lisp
完整目錄
直播研討會
{{ item.subject }}
{{ item.channelVendor }}
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
1064
組
團體組數
40
組
累計文章數
22207
篇
完賽人數
600
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
windows server
linux
css
react
vue.js
熱門問題
硬盤只能在舊電腦上讀到 在新電腦上顯示不明硬盤
寫好了一個程式,想問打包成EXE的問題
FORTI 防火牆使用 RADIUS 認證問題請教
請問在ERP當中如何管理油漆、螺絲物料?
Python多執行緒日誌記錄系統問題
這屆鐵人賽有完賽禮嗎?有人收到嗎?
這樣的物件設計好嗎?
Outlook 會跳出"插入智慧卡"(有安裝HiCOS卡片管理工具)
Redhat Idm (Free IPA) WEB 界面 admin 無法登入
WINDOW共用問題
熱門回答
這樣的物件設計好嗎?
共用資料夾突然無法使用
Outlook 會跳出"插入智慧卡"(有安裝HiCOS卡片管理工具)
Python多執行緒日誌記錄系統問題
商品計價公式
熱門文章
每日一篇學習筆記 直到我做完專題 :( [Day37]
每日一篇學習筆記 直到我做完專題 :( [Day38]
為什麼 C 語言中的 printf() 會多那個討人厭的 “f”?
Day 40 - 使用 Angular 原理圖從裝飾器遷移到函數
每日一篇學習筆記 直到我做完專題 :( [Day39]
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}